package liczby_0;

import static org.junit.Assert.*;
import junit.framework.TestCase;
import junit.framework.TestSuite;

import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;

public class LiczbaTest4 {

	private liczba x = null;

	@Before
	public void set() throws LiczbaException {
		x = new liczba(15);
	};

	@Test(expected = PrzeliczException.class)
	public void testPrzelicException() throws PrzeliczException {
		String tekst = x.przelicz(18);
	};

	@Test(timeout = 20)
	public void testDwojkowy1() throws PrzeliczException {
		System.out.println(x.przelicz(2));
		assertEquals("1111", x.przelicz(2));
	};

	@Ignore
	@Test
	public void testTrojkowy() throws PrzeliczException {

		System.out.println(x.przelicz(3));
		assertNotNull(x.przelicz(3));
	};

	@Test
	public void testHeksadecymalny() throws PrzeliczException {

		System.out.println(x.przelicz(16));
		assertEquals("F", x.przelicz(16));
	};

	@Test
	public void testDodatni() throws PrzeliczException {
		System.out.println(x.przelicz(10));
		assertTrue(Integer.parseInt(x.przelicz(10)) == 15);
	};

	// added by Papq
	@Test(expected = PrzeliczException.class)
	public void ShouldThrowExceptionWhenBaseIsHigerThanHex()
			throws PrzeliczException {
		x.przelicz(24);
	}

	// added by Papq
	@Test(expected = PrzeliczException.class)
	public void ShouldThrowExceptionWhenBaseIsLowerThanBinary()
			throws PrzeliczException {
		x.przelicz(1);
	}

	@After
	public void tearDown() {
		x = null;
	};

}
